		TITLE	MVLNAME - Copyright (c) SLR Systems 1994

		INCLUDE MACROS

		PUBLIC	MOVE_ASCIZ_ESI_EDI,MOVE_ASCIZ_ECX_EAX


		.CODE	ROOT_TEXT


MOVE_ASCIZ_ECX_EAX	PROC
		;
		;ECX IS SOURCE, EAX IS DESTINATION
		;
		TEST	AL,3
		JNZ	L8$

		MOV	EDX,EAX
L4$:
		MOV	EAX,[ECX]
		ADD	ECX,4

		MOV	[EDX],EAX
		ADD	EDX,4

		TEST	AL,AL
		JZ	L0$

		TEST	AH,AH
		JZ	L1$

		TEST	EAX,00FF0000H
		JZ	L2$

		TEST	EAX,0FF000000H
		JNZ	L4$

		LEA	EAX,[EDX-1]

		RET

		ALIGN	4
L2$:
		LEA	EAX,[EDX-2]
		RET

L1$:
		LEA	EAX,[EDX-3]
		RET

L0$:
		LEA	EAX,[EDX-4]
		RET

L8$:
		MOV	DL,[ECX]
		INC	ECX

		MOV	[EAX],DL
		INC	EAX

		TEST	DL,DL
		JNZ	L8$

		DEC	EAX

		RET

MOVE_ASCIZ_ECX_EAX	ENDP


MOVE_ASCIZ_ESI_EDI	PROC
		;
		;ESI IS SOURCE, EDI IS DESTINATION
		;
		TEST	ESI,3
		JNZ	L8$
L4$:
		MOV	EAX,[ESI]
		ADD	ESI,4

		MOV	[EDI],EAX
		ADD	EDI,4

		TEST	AL,AL
		JZ	L0$

		TEST	AH,AH
		JZ	L1$

		TEST	EAX,00FF0000H
		JZ	L2$

		TEST	EAX,0FF000000H
		JNZ	L4$

		DEC	EDI

		RET

		ALIGN	4
L2$:
		LEA	EDI,[EDI-2]
		RET

L1$:
		LEA	EDI,[EDI-3]
		RET

L0$:
		LEA	EDI,[EDI-4]
		RET

L8$:
		MOV	AL,[ESI]
		INC	ESI

		MOV	[EDI],AL
		INC	EDI

		TEST	AL,AL
		JNZ	L8$

		DEC	EDI

		RET

MOVE_ASCIZ_ESI_EDI	ENDP


		END

